import UIKit

///给定两个大小为 m 和 n 的正序（从小到大）数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。
///进阶：你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗？

class Solution {
    func findMedianSortedArrays(_ nums1: [Int], _ nums2: [Int]) -> Double {
        let list : [Int] = nums1 + nums2;
        let sortList = list.sorted();
        let listCount = sortList.count;
        if listCount == 0 {
            return 0;
        }else {
            let min = listCount / 2;
            if listCount % 2 == 0 {
                let minValue = sortList[min - 1];
                let maxValue = sortList[min];
                return Double((maxValue + minValue)) / 2.0;
            }else {
                return Double(sortList[min]);
            }
        }
        return 0;
    }
}


let nums1 : [Int] = [1,1,6];
let nums2 : [Int] = [3,4];


let startTime = Date();
let startTimeValue = startTime.timeIntervalSince1970;

print("[开始时间] -> \(startTime)")
let solution : Solution = Solution();
let minNum = solution.findMedianSortedArrays(nums1, nums2);

let endTime = Date();
let endTimeValue = endTime.timeIntervalSince1970;
print("[结束时间] -> \(endTime)");
let diffTimeValue = endTimeValue - startTimeValue;
print("[计算时间间隔] -> ", diffTimeValue);
print("[计算结果] -> \(minNum)")
